Handoffs between access points in a wi-fi environment

ABSTRACT

Techniques disclosed herein include systems and methods for providing active mobility of Wi-Fi enabled devices within a given wireless local area network (WLAN). In general, techniques include dynamically commanding Wi-Fi enabled devices to disconnect from a corresponding access point in response to meeting predetermined conditions. A forced disconnect can be based on various criteria such as low-power or lost packet thresholds triggering the forced disconnect. Such techniques cause a Wi-Fi enabled device to disconnect from one access point and connect to another access point before a connection quality deteriorates to a point that causes noticeable interruptions in connectivity or a generally poor experience, thereby enabling a smooth transition among access points.

BACKGROUND

The present disclosure relates to wireless connectivity of electronicdevices, and relates particularly to exchanging data wirelessly over acomputer network using Wi-Fi technology.

Wi-Fi is a technology that enables computerized devices to wirelesslytransmit data and connect to a computer network. Wi-Fi technology isdefined by specifications from the Institute of Electrical andElectronics Engineers' (IEEE) 802.11 standards. Computerized devicessuch as laptop computers, mobile phones, tablet computers, etc., canconnect to a computer network using a Wi-Fi access point. An accesspoint is a device that sends and receives radio signals to enablecomputerized devices to connect to a wired network, such as a Local AreaNetwork or the Internet. Access points typically have a wirelessconnectivity range of approximately 100 feet.

Wi-Fi technology has evolved to a hotspot model, that is, networkconnectivity exits within relative distinct, isolated, or segmentedlocations. For example, Wi-Fi connection areas are commonly found withinhomes of consumers, cafes, businesses, schools, etc. Users operating alaptop, cell phone, or other electronic device that connects to awireless router or WLAN access point for wireless connectivity. Onceconnected, devices can be moved around within range of that given WLAN.Unlike cellular telecommunication technologies however, Wi-Fi does nothave any specified handoff intelligence or protocols. This is becauseWi-Fi was not designed to be or meant to be a mobility technology.

SUMMARY

Internet service providers, including cable and DSL providers, havebegun to provide relatively large Wi-Fi networks across variouslocations. For example, in some installations, thousands of accesspoints are deployed on or along cable strands and roads carryingcommunication lines. Other installations provide many access pointswithin a particular location, such as within a shopping center,commercial buildings, public transportation systems, and so forth. Suchlarger Wi-Fi networks are a result of the growing demand for Wi-Ficonnectivity.

Though Wi-Fi networks are enormously popular, they have some challenges.One challenge with Wi-Fi technology is that there is no handoffmechanism like those that exist with cellular telecommunicationssystems. Cellular telecommunication systems specify, for example, when agiven electronic device should detach from one cell tower and connectwith another cell tower. In contrast, with a Wi-Fi network, a givenaccess point will maintain a connection with a given Wi-Fi enableddevice, even though the given Wi-Fi enabled device is closer to anotheraccess point, is receiving a substantially stronger signal from anotheraccess point, or is losing many transmitted packets. Thus, acomputerized device with a connection to a first access point andwherein this device is moving away from the first access point, willremained connected to this first access point until corresponding radiosignals are no longer detectable.

Techniques disclosed herein include systems and methods for providinghandoffs of Wi-Fi enabled devices within a given wireless local areanetwork (WLAN). Techniques include forcing the Wi-Fi network todisconnect the Wi-Fi enabled device. A forced disconnect can be based onvarious criteria including low-power or lost packet thresholdstriggering the forced disconnect. For example, when a measured powerlevel drops below a power threshold, or when a number or rate of packetsbeing dropped exceeds a loss threshold, logic within the Wi-Fi networkor access point device can force a disconnection between the Wi-Fienabled device and a corresponding access point. The Wi-Fi network canidentify a location of other access points to facilitate a smoothtransition and know when forced disconnection would be beneficial, suchas within a geographic area having multiple potential access points.

One embodiment includes a wireless connectivity manager that executes awireless connectivity process or system. The wireless connectivitymanager receives a request from a client device to establish a wirelessdata link between the client device and a first access point device. Thefirst access point device provides a connection to a computer network,such as the Internet. The first access point device establishes thewireless data link between the client device and the first access pointdevice on a radio frequency communication channel. The wireless datalink is used to transmit data packets between the client device and thefirst access point device. The system monitors at least one parameter ofthe wireless data link between the client device and the first accesspoint device, such as radio signal strength. In response to determiningthat the at least one parameter meets a predetermined criterion, theaccess point device transmits a disassociate message to the clientdevice. This disassociate message causes the client device to end thewireless data link.

Such techniques cause a Wi-Fi enabled device to disconnect from oneaccess point and connect to another access point before a connectionquality deteriorates to a point that causes noticeable interruptions inconnectivity or a generally poor experience.

Yet other embodiments herein include software programs to perform thesteps and operations summarized above and disclosed in detail below. Onesuch embodiment comprises a computer program product that has acomputer-storage medium (e.g., a non-transitory, tangible,computer-readable media, disparately located or commonly located storagemedia, computer storage media or medium, etc.) including computerprogram logic encoded thereon that, when performed in a computerizeddevice having a processor and corresponding memory, programs theprocessor to perform (or causes the processor to perform) the operationsdisclosed herein. Such arrangements are typically provided as software,firmware, microcode, code data (e.g., data structures), etc., arrangedor encoded on a computer readable storage medium such as an opticalmedium (e.g., CD-ROM), floppy disk, hard disk, one or more ROM or RAM orPROM chips, an Application Specific Integrated Circuit (ASIC), afield-programmable gate array (FPGA), and so on. The software orfirmware or other such configurations can be installed onto acomputerized device to cause the computerized device to perform thetechniques explained herein.

Accordingly, one particular embodiment of the present disclosure isdirected to a computer program product that includes one or morenon-transitory computer storage media having instructions stored thereonfor supporting operations such as: receiving a request from a clientdevice to establish a wireless data link between the client device and afirst access point device, the first access point device providing aconnection to a computer network; establishing the wireless data linkbetween the client device and the first access point device on a radiofrequency communication channel, the wireless data link used to transmitdata packets between the client device and the first access pointdevice; monitoring at least one parameter of the wireless data linkbetween the client device and the first access point device; and inresponse to determining that the at least one parameter meets apredetermined criterion, transmitting a disassociate message to theclient device, the disassociate message causing the client device to endthe wireless data link. The instructions, and method as describedherein, when carried out by a processor of a respective computer device,cause the processor to perform the methods disclosed herein.

Other embodiments of the present disclosure include software programs toperform any of the method embodiment steps and operations summarizedabove and disclosed in detail below.

Of course, the order of discussion of the different steps as describedherein has been presented for clarity sake. In general, these steps canbe performed in any suitable order.

Also, it is to be understood that each of the systems, methods,apparatuses, etc. herein can be embodied strictly as a software program,as a hybrid of software and hardware, or as hardware alone such aswithin a processor, or within an operating system or within a softwareapplication, or via a non-software application such a person performingall or part of the operations. Example embodiments as described hereinmay be implemented in products and/or software applications such asthose manufactured by Time Warner Cable, New York City, N.Y.

As discussed above, techniques herein are well suited for use insoftware applications supporting Wi-Fi connectivity. It should be noted,however, that embodiments herein are not limited to use in suchapplications and that the techniques discussed herein are well suitedfor other applications as well.

Additionally, although each of the different features, techniques,configurations, etc. herein may be discussed in different places of thisdisclosure, it is intended that each of the concepts can be executedindependently of each other or in combination with each other.Accordingly, the present invention can be embodied and viewed in manydifferent ways.

Note that this summary section herein does not specify every embodimentand/or incrementally novel aspect of the present disclosure or claimedinvention. Instead, this summary only provides a preliminary discussionof different embodiments and corresponding points of novelty overconventional techniques. For additional details and/or possibleperspectives of the invention and embodiments, the reader is directed tothe Detailed Description section and corresponding figures of thepresent disclosure as further discussed below.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, features, and advantages of theinvention will be apparent from the following more particulardescription of preferred embodiments herein as illustrated in theaccompanying drawings in which like reference characters refer to thesame parts throughout the different views. The drawings are notnecessarily to scale, with emphasis instead being placed uponillustrating the embodiments, principles and concepts.

FIG. 1 is a block diagram of a computerized device with wirelessconnectivity in a Wi-Fi environment according to embodiments herein.

FIG. 2 is a block diagram of a computerized device with wirelessconnectivity in a Wi-Fi environment supporting mobility according toembodiments herein.

FIG. 3 is a block diagram of a computerized device with wirelessconnectivity in a Wi-Fi environment supporting ad hoc access pointcommunication according to embodiments herein.

FIG. 4 is a block diagram of a computerized device with wirelessconnectivity in a Wi-Fi environment supporting access pointcommunication via a central controller according to embodiments herein.

FIG. 5 is a flowchart illustrating an example of a process supportingWi-Fi mobility according to embodiments herein.

FIGS. 6-7 are a flowchart illustrating an example of a processsupporting Wi-Fi mobility according to embodiments herein.

FIG. 8 is an example block diagram of a wireless connectivity manageroperating in a computer/network environment according to embodimentsherein.

DETAILED DESCRIPTION

Techniques disclosed herein include systems and methods for providingactive mobility of Wi-Fi enabled devices within a given wireless localarea network (WLAN). In general, techniques include dynamicallycommanding or messaging Wi-Fi enabled devices to disconnect from acorresponding access point in response to meeting predeterminedconditions. A forced disconnect can be based on various criteria, suchas low-power or lost packet thresholds triggering the forced disconnect.For example, when a measured power level or radio signal strength dropsbelow a specific threshold, or when a number or rate of packets beingdropped exceeds a loss threshold, then logic within the Wi-Fi network oraccess point device can transmit a disconnect command or message to theWi-Fi enabled device and a corresponding access point.

One challenge in providing Wi-Fi mobility is that from the perspectiveof device chipsets and the Wi-Fi specification itself (802.11), once aWi-Fi device attaches to an access point or wireless router, there is nostandard built into the Wi-Fi specification that causes devices tocontinue to scan for access points or scan for a better signal after aWi-Fi enabled device attaches to a given access point, and also toinitiate transfer to a particular access point having a better signal.Conventionally, once a Wi-Fi enabled device attaches to (establishes acommunication link with) a Wi-Fi access point, the Wi-Fi enabled deviceremains attached to the given access point—even if the Wi-Fi enableddevice passes other closer access points. For example, a user may betraveling along a road that has access points spaced at intervals alongthe road. A user's Wi-Fi enabled device then attaches to a first accesspoint. In this example, as the user travels along the road, the user maypass a second or third access point, but the Wi-Fi enabled device wouldkeep its connection to the first access point until it can no longersupport any radio communications with the first access point. Thus, eventhough signal strength from the first access point decreases whilesignal strength from the second or third access point increases, theWi-Fi enabled device with remain connected to (stick with) the firstaccess point as long as possible. That is, there is no active mechanismin Wi-Fi for handoffs to thereby provide mobility in a Wi-Fienvironment. Because of this “stickiness” of Wi-Fi devices, there is nohandover among access points. This stickiness, in mobile scenarios,causes loss of packets, delay, and a generally poor connectivityexperience.

It is essentially impractical to modify or create a new Wi-Fi standardthat specifies how wireless devices provide mobility (active mobility)across access points. This impracticality is in part due to theexistence of millions and millions of Wi-Fi enabled devices that arecurrently in use. Changing the logic and chipsets in all of thesedevices would be impractical and cost prohibitive. Techniques discloseherein, however, provide mobility across access points via anetwork-based approach. According to such techniques, access points andother network devices are modified to look for and move wireless devicesto new or different access points to improve mobility.

FIGS. 1 and 2 show a simplified Wi-Fi environment that includes Wi-Fienabled device 105, first access point device 110 and second accesspoint device 120. Each access point provides wireless connectivity to awired network via Wi-Fi technology. Access point devices, also known aswireless access points (WAP), can relay data between wireless devicesand a router. Some access point devices can also include routingfunctionality. Wi-Fi enabled device 105 is connected to access point 110in both FIG. 1 and FIG. 2, in that Wi-Fi enabled device 105 and accesspoint 110 have established a communication channel with each other forsending and receiving data and accessing remote network resourcesthrough a wired network. Wi-Fi enabled device 105 can also be identifiedas a wireless device or client device (with wireless functionality).Note that wireless devices, as used herein, refer to any devices thatinclude functionality to transmit data and signals wirelessly, eventhough they may also include an interface for wired connectivity.

In FIG. 1, device 105 and access point 110 have good radio signalstrength, while radio signal strength between device 105 and accesspoint 120 is poor. FIG. 2 shows that device 105 has moved physicallycloser to access point 120. As a result of this move, there is now goodradio signal strength between access point 120 and device 105, whileradio signal strength between access point 110 and device 105 has becomepoor. Note that despite having poor radio signal strength between accesspoint 110 and device 105, wireless device 105 is still connected toaccess point 110.

Conventionally, client devices that are connected to a particular accesspoint will remain connected to that access point, irrespective of thestatus in an uplink transmission (signal sent by the client device toaccess point), and can remain connected even until the client devicelooses a downlink connection (signal sent by access point to clientdevice). Once a client device looses the connection in the downlink, theclient device will begin rescanning for available access points and willrequest a connection to a best available access point based on priority,best downlink signal, and/or other related factors.

Techniques disclosed herein provide a handover process that primarilyexecutes on the network side, that is, functionality that is executed bythe access point devices and/or corresponding network controllers. Thehandover process can be triggered by sending a disconnect message to theclient device under certain received signal strength indicator (RSSI)conditions, under certain uplink error rate conditions, or under otherfactors related to quality of a specific wireless connection.

In one embodiment, access point (AP) 110 is measuring a radio receivelevel from the Wi-Fi enabled device 105. Likewise, access point 120 isalso measuring a radio receive level from device 105, even though device105 is not currently connected to access point 120. Optionally, the twoaccess points can use a common location where this radio information canbe shared across the access points. Such sharing can be via acentralized Wi-Fi network, or an ad hoc network, and will be discussedmore in the following figures. Regardless of whether the access pointsare communicating with each other (directly or indirectly), it ishelpful for a given access point to know that there are other peer orneighboring access points with which the device 105 can establish aconnection. With no neighboring access point devices, the device105—after disconnecting from a given access point—will continuously tryto reconnect with the given access point.

Knowing that there are other Wi-Fi connection options available in aparticular area can be beneficial because Wi-Fi enabled devices do notactively or continuously scan for access points as long as the Wi-Fienabled device is attached to one access point. Note that some Wi-Fienabled devices can scan for other access points and record theseadditional access points (even when connected to a first access point),but these Wi-Fi enabled device nevertheless do not move to the otheraccess points even when there is a stronger signal from the other accesspoints. Also, the Wi-Fi enabled devices do not report results of theirscans upstream to any central management server or controller.Connectivity is often maintained even if connectivity of the uplinksignal is lost. Until a Wi-Fi enabled device is disconnected in thedownlink, the device will remain connected to the current access point,even if there is a substantially stronger signal from another accesspoint.

FIG. 2 also illustrates an example handover situation in which theaccess points are autonomous in that access point 110 and access point120 may have no knowledge of each other, or are at least not sharinginformation. In such an embodiment, a decision to disassociate dependson an access point's own measurements and analysis. Access point 110measures the uplink or receive signal and, upon meeting a particularthreshold, the connected access point 110 will push the client device105 out of the network or out of connectivity with the first accesspoint. In this scenario, access point 110 can detect that the RSSI hasdropped below a predetermined threshold, and in response transmits adisassociate command to the device 105. In response to receiving thiscommand, the device 105 ends a wireless connection with access point110. After ending the wireless connection, the device 105 beginsscanning for radio signals or accesses a recent report of scannedsignals from candidate access points, and then requests a connection(typically) to an access point having a best signal. In other words, theclient device will try to re-associate with another access point havingthe best signal available, which can be based on a priority listmaintained at the client. In the FIG. 2 example, with device 105 beingphysically closer to access point 120, device 105 will most likelydetect that the radio signal strength to access point 120 issubstantially stronger than a signal received from access point 110.Thus, after access point 110 transmits the disassociate command, it isexpected that device 105 will subsequently establish a connection withaccess point 120. In the Wi-Fi interface there exists a message called“disassociate.” This is a message that the network can send to a givenWi-Fi enabled device, according to the Wi-Fi specification. This messageis rarely used and included as essentially an emergency resource, suchas when an access point is being shut down for maintenance. By using astandards-based message, there is no need to change the millions andmillions of Wi-Fi enabled devices. Thus, there is no burden of addingnew protocols to existing client devices, yet mobility can be providedto mobile Wi-Fi enabled devices.

Thus, the access point or corresponding network can measure one or moreradio frequency parameters or other connection parameters correspondingto a particular Wi-Fi enabled device or wireless connection to the Wi-Fienabled device. In response to meeting (or falling below) a particularthreshold of connection parameters, the access point or correspondingnetwork controller sends explicit instructions for the Wi-Fi enableddevice to disassociate with its connected access point. Suchdisassociation then initiates a process in the device 105 to look foranother access point with which to connect. The system hereinessentially spurs the device 105 to connect to a second or differentaccess point, despite the client device lacking such mobilityintelligence. To facilitate this change and ensure connection to adifferent access point, the disassociate message can be sent at athreshold that would not result in re-association with the first accesspoint. For example, a first access point is receiving a radio signalfrom a client device at a power of −75 db, which is a relatively lowpower, and consider for this example that a second access point is at apower of −50 db. In this example the first access point sends adisassociate message to the client device and the client devicedisassociates from the first access point. At this point the clientdevice executes a quick scan of access points and discovers that thesecond access point has better power and so the client device willconnect to the second access point. Such disconnection and reconnectioncan happen sufficiently fast such that there is no noticeableinterruption in calls, downloads, or other data transfers. If however,the first access point was receiving moderate signal strength from theclient device, then the first access point may wait until signalstrength degrades to a point where the client device would most likelyfind a neighboring access point having a higher signal strength.Associating with the second access point can include any expectedcredentialing for a given WLAN. Such a handover technique can work on asame service set identifier (SSID). Thus, instead of moving to anotherSSID and restarting a scan, the device 105 tries to move to anotheraccess point with the same SSID.

The access point can measure several parameters. For example, accesspoints can measure a receive level or radio power level, a packet errorrate, a packet loss rate, and so forth. For example, the system candetect that the power level is sufficient, but that there may be toomuch radio frequency noise such that there are packet collisions on aspecific channel. In response, the access point can cause adisassociation, especially when identifying that a second access pointwill likely connect with the client device. If the second access pointhas a substantially lower power, then sending a disassociation commandwould accomplish little because the client device would most likely tryto reconnect with the first access point. Note that with Wi-Fitechnology, establishing a wireless connection is initiated by theclient device instead of by the access point. A connection request canbe based on the priority defined in a client list of access points, inthat the client device makes a selection and initiates establishing awireless connection.

FIG. 3 illustrates an example Wi-Fi environment in which access point110 and access point 120 use an ad hoc communication mechanism. Withsuch direct communication, access point 110 and access point 120 canshare information directly, without any central or upstream system.Access point 120 passively listens on the packets from client device105, and shares that knowledge with access point 110 directly. Suchinformation and corresponding measurements give enough information foraccess point 110 to determine when to issue the disassociate message.

FIG. 4 illustrates an example Wi-Fi environment in which access point110 and access point 120 use an upstream controller 155. Controller 155can be local device, or remote server computer accessible via a wirednetwork. With such indirect communication, access point 110 and accesspoint 120 can share information. Access point 120 passively listens onthe packets from client device 105, and shares that knowledge withcontroller 155. Access point 110 active listens and measures RSSI andother parameters and transmits this information to controller 155. Suchinformation and corresponding measurements give enough information forcontroller 155 to determine when to issue the disassociate message.

Because client device 105 is transmitting packets to first access point110 via radio frequency transmission, some of those packets can bereceived or detected at second access point 120. The access point 120would not need to read these packets, but logic is extended such thatthe second access point 120 can see those packets, measure associatedparameters, and send that knowledge to a central controller. Thus, thesecond access point 120 can passively monitor the client device 105 eventhough the client device is not connected to that access point. Thesecond access point 120 can then send this information to a centralserver or controller 155 or designated peer device. The controller 155can then determine that the second access point 120 is receiving asubstantially stronger signal, and, in response, direct the first accesspoint 110 to send a disassociate message to the client device 105 sothat the client device is free to establish a wireless connection withthe second access point.

In one embodiment, the network can share information withadjacent/neighboring access points, and then a central server/controllercan contact the adjacent access points and request those adjacent accesspoints to scan for a specific channel and MAC address corresponding tothe client device 105 connected to the first access point 110. This canreduce the burden on adjacent access points so that they only listen forspecific client devices that could be potential handover candidates.Otherwise, the neighboring access points could be monitoring too manydevices, which could slow performance. This logic can be embedded in anaccess point or operate at the controller device 155.

The system can maintain the same IP address of the client device 105 tokeep the handover transition between access points seamless. The higherlevel controller or server can then transmit packets to the secondaccess point 120 after a transition so that the second access pointimmediately begins sending packets to the client device 105. A handoverthreshold amount can be selected such as to be sufficient that theclient device 105 would not want to flip-flop between access points,such as when the client device is about halfway between the two accesspoints. In addition, after a given access point sends a disassociatecommand, that access point can wait several seconds before allowing theWi-Fi enabled device to reconnect, as a means to nudge the client deviceto request a connection with a different access point.

FIG. 8 illustrates an example block diagram of a wireless connectivitymanager 140 operating in a computer/network environment according toembodiments herein. Computer system hardware aspects of FIG. 8 will bedescribed in more detail following a description of the flow charts.

Functionality associated with wireless connectivity manager 140 will nowbe discussed via flowcharts and diagrams in FIG. 5 through FIG. 7. Forpurposes of the following discussion, the wireless connectivity manager140 or other appropriate entity performs steps in the flowcharts.

Now describing embodiments more specifically, FIG. 5 is a flow chartillustrating embodiments disclosed herein. In step 510, the wirelessconnectivity manager receives a request from a client device toestablish a wireless data link between the client device and a firstaccess point device. The first access point device provides a connectionto a computer network, such as the Internet or other wired network.

In step 520, the wireless connectivity manager establishes the wirelessdata link between the client device and the first access point device ona radio frequency communication channel. The wireless data link is usedto transmit data packets between the client device and the first accesspoint device. By way of a non-limiting example, a mobile phone or tabletcomputer makes a request to establish an Internet connection at a givenhotspot or access point provided by an Internet Service Provider.

In step 530, the wireless connectivity manager monitors at least oneparameter of the wireless data link between the client device and thefirst access point device. Parameters can include various connectivitystatistics and metrics.

In step 540, the wireless connectivity manager (or access point device)transmits a disassociate message to the client device in response todetermining that the at least one parameter meets a predeterminedcriterion. The disassociate message causes the client device to end thewireless data link. For example, the wireless connectivity managerdetermines that wireless signal strength is relatively weak.

FIGS. 6-7 include a flow chart illustrating additional and/oralternative embodiments and optional functionality of the wirelessconnectivity manager 140 as disclosed herein.

In step 510, the wireless connectivity manager receives a request from aclient device to establish a wireless data link between the clientdevice and a first access point device. The first access point deviceprovides a connection to a computer network.

In step 512, the access point device receives a request to establish aWi-Fi data link, with the client device being a Wi-Fi enabled device.

In step 514, the first access point device is in network communicationwith a second access point device. The first and second access pointdevices providing Wi-Fi connectivity to the computer network via a sameservice set identifier (SSID). By way of a non-limiting example, theaccess points could be part of an array of access points provided by anISP in a given geographical area such that client devices can be withinradio communication range of two or more access points simultaneously.

In step 520, the wireless connectivity manager establishes the wirelessdata link between the client device and the first access point device ona radio frequency communication channel. The wireless data link is usedto transmit data packets between the client device and the first accesspoint device.

In step 530, the wireless connectivity manager monitors at least oneparameter of the wireless data link between the client device and thefirst access point device.

In step 531, the wireless connectivity manager monitors radio signalstrength. In step 532, the wireless connectivity manager determines thata received signal strength indicator (RSSI) of the wireless data link isless than a predetermined amount.

In step 534, the wireless connectivity manager monitors a rate of packeterrors in uplink data transmission, and transmits the disassociatemessage to the client device in response to the rate of packet errorsexceeding a predetermined packet error rate. For example, in somesituations, the client device may have about a same signal strength oftwo access points, but because of packet errors or noise, the wirelessconnectivity manager can determine to close the connection to eitherhave the client device reconnect with a different access point or withthe same access point on a different channel.

In step 536, the wireless connectivity manager monitors radio signalstrength of the client device via the second access point device. Forexample, the second access point can acquire a MAC address of the clientdevice, and then passively measure signal strength.

In step 540, the wireless connectivity manager (or access point device)transmits a disassociate message to the client device in response todetermining that the at least one parameter meets a predeterminedcriterion. The disassociate message causes the client device to end thewireless data link.

In step 542, the wireless connectivity manager identifies that receivedradio signal strength of the client device at the second access pointdevice is greater than received radio signal strength of the clientdevice at the first access point device. This knowledge can assist in adecision to send a disassociate message.

In step 560, the first access point device rejects, for a predeterminedperiod of time, subsequent connectivity requests from the client deviceto re-establish the wireless data link. For example, after transmittingthe disassociate message, the first access point device can refuse tocredential the client device for ten seconds as a technique to nudge theclient device to request a connection from another access point device.

In step 570, the second access point device receives a request from theclient device to establish a second wireless data link between theclient device and the second access point device in response totransmitting the disassociate message to the client device.

In step 580, the second access point device establishes the secondwireless data link between the client device and the second access pointdevice on a radio frequency communication channel. The second wirelessdata link uses the same SSID. The second wireless data link is used totransmit data packets between the client device and the second accesspoint device. The client device maintains a same Internet Protocol (IP)address as used with the first access point device. Keeping a same SSIDand IP address assists with a seamless transition between access points.

In step 582, the first access point device and the second access pointdevice transmit data to each other corresponding to the at least oneparameter of the wireless data link via ad hoc connectivity between thefirst access point device and the second access point device.

In step 584, the first access point device and the second access pointdevice transmit data to each other corresponding to the at least oneparameter of the wireless data link via an upstream server computer orcontroller device.

In step 585, an upstream server computer causes the first access pointdevice to transmit the disassociate message to the client device.

In another embodiment, the system can identify a geographic location ofthe client device relative to the first access point device and thesecond access point device, such as with triangulation. In such anembodiment, transmitting the disassociate message can also be inresponse to the geographic location of the client device. For example,the system can detect that the client device is moving in a particulardirection or towards a particular access point and can send adisassociate message at a point that will enable seamless transitionbetween access points.

Continuing with FIG. 8, the following discussion provides a basicembodiment indicating how to carry out functionality associated with thewireless connectivity manager 140 as discussed above. It should benoted, however, that the actual configuration for carrying out thewireless connectivity manager 140 can vary depending on a respectiveapplication. For example, computer system 149 can include one ormultiple computers that carry out the processing as described herein.

In different embodiments, computer system 149 may be any of varioustypes of devices, including, but not limited to, a cell phone, apersonal computer system, desktop computer, laptop, notebook, or netbookcomputer, mainframe computer system, handheld computer, workstation,network computer, router, network switch, bridge, application server,storage device, a consumer electronics device such as a camera,camcorder, set top box, mobile device, video game console, handheldvideo game device, or in general any type of computing or electronicdevice.

Computer system 149 is shown connected to display monitor 130 fordisplaying a graphical user interface 133 for a user 136 to operateusing input devices 135. Repository 138 can optionally be used forstoring data files and content both before and after processing. Inputdevices 135 can include one or more devices such as a keyboard, computermouse, microphone, etc.

As shown, computer system 149 of the present example includes aninterconnect 143 that couples a memory system 141, a processor 142, I/Ointerface 144, and a communications interface 145.

I/O interface 144 provides connectivity to peripheral devices such asinput devices 135 including a computer mouse, a keyboard, a selectiontool to move a cursor, display screen, etc.

Communications interface 145 enables the wireless connectivity manager140 of computer system 149 to communicate over a network and, ifnecessary, retrieve any data required to create views, process content,communicate with a user, etc. according to embodiments herein.

As shown, memory system 141 is encoded with wireless connectivitymanager 140-1 that supports functionality as discussed above and asdiscussed further below. Wireless connectivity manager 140-1 (and/orother resources as described herein) can be embodied as software codesuch as data and/or logic instructions that support processingfunctionality according to different embodiments described herein.

During operation of one embodiment, processor 142 accesses memory system141 via the use of interconnect 143 in order to launch, run, execute,interpret or otherwise perform the logic instructions of the wirelessconnectivity manager 140-1. Execution of the wireless connectivitymanager 140-1 produces processing functionality in wireless connectivitymanager process 140-2. In other words, the wireless connectivity managerprocess 140-2 represents one or more portions of the wirelessconnectivity manager 140 performing within or upon the processor 142 inthe computer system 149.

It should be noted that, in addition to the wireless connectivitymanager process 140-2 that carries out method operations as discussedherein, other embodiments herein include the wireless connectivitymanager 140-1 itself (i.e., the un-executed or non-performing logicinstructions and/or data). The wireless connectivity manager 140-1 maybe stored on a non-transitory, tangible computer-readable storage mediumincluding computer readable storage media such as floppy disk, harddisk, optical medium, etc. According to other embodiments, the wirelessconnectivity manager 140-1 can also be stored in a memory type systemsuch as in firmware, read only memory (ROM), or, as in this example, asexecutable code within the memory system 141.

In addition to these embodiments, it should also be noted that otherembodiments herein include the execution of the wireless connectivitymanager 140-1 in processor 142 as the wireless connectivity managerprocess 140-2. Thus, those skilled in the art will understand that thecomputer system 149 can include other processes and/or software andhardware components, such as an operating system that controlsallocation and use of hardware resources, or multiple processors.

Those skilled in the art will also understand that there can be manyvariations made to the operations of the techniques explained abovewhile still achieving the same objectives of the invention. Suchvariations are intended to be covered by the scope of this invention. Assuch, the foregoing descriptions of embodiments of the invention are notintended to be limiting. Rather, any limitations to embodiments of theinvention are presented in the following claims.

1. A computer-implemented method for managing wireless connectivity, thecomputer-implemented method comprising: receiving a request from aclient device to establish a wireless data link between the clientdevice and a first access point device, the first access point deviceproviding a connection to a computer network; establishing the wirelessdata link between the client device and the first access point device ona radio frequency communication channel, the wireless data link used totransmit data packets between the client device and the first accesspoint device; monitoring at least one parameter of the wireless datalink between the client device and the first access point device; and inresponse to determining that the at least one parameter meets apredetermined criterion, transmitting a disassociate message to theclient device, the disassociate message causing the client device to endthe wireless data link.
 2. The computer-implemented method of claim 1,wherein receiving the request from the client device to establish thewireless data link comprising receiving a request to establish a Wi-Fidata link, the client device being a Wi-Fi enabled device.
 3. Thecomputer-implemented method of claim 2, wherein monitoring the at leastone parameter of the wireless data link between the client device andthe first access point device includes monitoring radio signal strength.4. The computer-implemented method of claim 3, wherein determining thatthe at least one parameter meets a predetermined criterion includesdetermining that a received signal strength indicator (RSSI) of thewireless data link is less than a predetermined amount.
 5. Thecomputer-implemented method of claim 2, wherein monitoring the at leastone parameter of the wireless data link between the client device andthe first access point device includes monitoring a rate of packeterrors in uplink data transmission, wherein transmitting thedisassociate message to the client device is in response to the rate ofpacket errors exceeding a predetermined packet error rate.
 6. Thecomputer-implemented method of claim 2, further comprising: in responseto transmitting the disassociate message to the client, the first accesspoint device rejecting, for a predetermined period of time, subsequentconnectivity requests from the client device to re-establish thewireless data link.
 7. The computer-implemented method of claim 1,further comprising: the first access point device being in networkcommunication with a second access point device, the first and secondaccess point devices providing Wi-Fi connectivity to the computernetwork via a same service set identifier (SSID).
 8. Thecomputer-implemented method of claim 7, further comprising: in responseto transmitting the disassociate message to the client device, thesecond access point device receiving a request from the client device toestablish a second wireless data link between the client device and thesecond access point device; and establishing the second wireless datalink between the client device and the second access point device on aradio frequency communication channel using the same SSID, the secondwireless data link used to transmit data packets between the clientdevice and the second access point device, the client device maintaininga same Internet Protocol (IP) address as used with the first accesspoint device.
 9. The computer-implemented method of claim 8, wherein thefirst access point device and the second access point device transmitdata to each other corresponding to the at least one parameter of thewireless data link via ad hoc connectivity between the first accesspoint device and the second access point device.
 10. Thecomputer-implemented method of claim 8, wherein the first access pointdevice and the second access point device transmit data to each othercorresponding to the at least one parameter of the wireless data linkvia an upstream server computer.
 11. The computer-implemented method ofclaim 7, further comprising: monitoring radio signal strength of theclient device via the second access point device; and whereindetermining that the at least one parameter meets a predeterminedcriterion includes identifying that received radio signal strength ofthe client device at the second access point device is greater thanreceived radio signal strength of the client device at the first accesspoint device.
 12. The computer-implemented method of claim 11, whereintransmitting the disassociate message to the client device includes anupstream server computer causing the first access point device totransmit the disassociate message.
 13. The computer-implemented methodof claim 7, further comprising: identifying a geographic location of theclient device relative to the first access point device and the secondaccess point device; wherein transmitting the disassociate message isalso in response to the geographic location of the client device.
 14. Asystem for managing wireless connectivity, the system comprising: aprocessor; and a memory coupled to the processor, the memory storinginstructions that, when executed by the processor, cause the system toperform the operations of: receiving a request from a client device toestablish a wireless data link between the client device and a firstaccess point device, the first access point device providing aconnection to a computer network; establishing the wireless data linkbetween the client device and the first access point device on a radiofrequency communication channel, the wireless data link used to transmitdata packets between the client device and the first access pointdevice; monitoring at least one parameter of the wireless data linkbetween the client device and the first access point device; and inresponse to determining that the at least one parameter meets apredetermined criterion, transmitting a disassociate message to theclient device, the disassociate message causing the client device to endthe wireless data link.
 15. The computer system claim 14, whereinreceiving the request from the client device to establish the wirelessdata link comprising receiving a request to establish a Wi-Fi data link,the client device being a Wi-Fi enabled device.
 16. The computer systemof claim 15, wherein monitoring the at least one parameter of thewireless data link between the client device and the first access pointdevice includes monitoring a received radio signal strength indicator(RSSI).
 17. The computer system of claim 15, wherein monitoring the atleast one parameter of the wireless data link between the client deviceand the first access point device includes monitoring a rate of packeterrors in uplink data transmission, wherein transmitting thedisassociate message to the client device is in response to the rate ofpacket errors exceeding a predetermined packet error rate.
 18. Thecomputer system of claim 14, the memory storing further instructionsthat, when executed by the processor, cause the system to perform theoperations of further comprising: the first access point device being innetwork communication with a second access point device, the first andsecond access point devices providing Wi-Fi connectivity to the computernetwork via a same service set identifier (SSID); in response totransmitting the disassociate message to the client device, the secondaccess point device receiving a request from the client device toestablish a second wireless data link between the client device and thesecond access point device; and establishing the second wireless datalink between the client device and the second access point device on aradio frequency communication channel and using the same SSID, thesecond wireless data link used to transmit data packets between theclient device and the second access point device, the client devicemaintaining a same Internet Protocol (IP) address as used with the firstaccess point device.
 19. The computer-system of claim 18, the memorystoring further instructions that, when executed by the processor, causethe system to perform the operations of further comprising: monitoringradio signal strength of the client device via the second access pointdevice; and wherein determining that the at least one parameter meets apredetermined criterion includes identifying that received radio signalstrength of the client device at the second access point device isgreater than received radio signal strength of the client device at thefirst access point device.
 20. A computer program product including anon-transitory computer-storage medium having instructions storedthereon for processing data information, such that the instructions,when carried out by a processing device, cause the processing device toperform the operations of: receiving a request from a client device toestablish a wireless data link between the client device and a firstaccess point device, the first access point device providing aconnection to a computer network; establishing the wireless data linkbetween the client device and the first access point device on a radiofrequency communication channel, the wireless data link used to transmitdata packets between the client device and the first access pointdevice; monitoring at least one parameter of the wireless data linkbetween the client device and the first access point device; and inresponse to determining that the at least one parameter meets apredetermined criterion, transmitting a disassociate message to theclient device, the disassociate message causing the client device to endthe wireless data link.